package test3.definitions;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * Created by Claudiu-Florin FILIMON
 * Date: Aug 1, 2007
 * Time: 8:59:08 PM
 * Revision: 0
 */
public class ClassDefinition
{
    private String name;
    private boolean isInteface;
    private boolean isAbstract;

    private int visibility;
    
    private String extendsClass;
    private ArrayList implementsList;
    private ArrayList methodList;
    private ArrayList memberList;

    public ClassDefinition()
    {
        implementsList = new ArrayList();
        methodList = new ArrayList();
        memberList = new ArrayList();
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }


    public void setInteface(boolean isInteface)
    {
        this.isInteface = isInteface;
    }

    public boolean isInteface()
    {
        return isInteface;
    }

    public void setAbstract(boolean isAbstract)
    {
        this.isAbstract = isAbstract;
    }

    public boolean isAbstract()
    {
        return isAbstract;
    }


    public int getVisibility()
    {
        return visibility;
    }

    public void setVisibility(int visibility)
    {
        this.visibility = visibility;
    }

    public String getExtendsClass()
    {
        return extendsClass;
    }

    public void setExtendsClass(String extendsClass)
    {
        this.extendsClass = extendsClass;
    }

    public void addImplements(String name)
    {
        implementsList.add(name);
    }

    public Iterator getImplements()
    {
        return implementsList.iterator();
    }

    public void addMethod(ClassMethod method)
    {
        methodList.add(method);
    }

    public Iterator getMethods()
    {
        return methodList.iterator();
    }

    public void addMember(ClassMember member)
    {
        memberList.add(member);
    }

    public Iterator getMembers()
    {
        return memberList.iterator();
    }
}
